package com.sinog.biz.mapper.havexml;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sinog.core.domain.PlacementBaseInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * @desc 安帮工作资源管理 - 安帮基地信息管理 - 安帮基地信息管理 - PlacementBaseInfoMapper
 * @author -
 * @date -
 */
public interface PlacementBaseInfoMapper extends BaseMapper<PlacementBaseInfo> {

    /**
     * 安帮工作资源管理 - 安帮基地信息管理 - 安帮基地信息管理 - 列表
     * @param page page
     * @param searchKey searchKey
     * @param searchPlacement searchPlacement
     * @param departId departId
     * @param localCode localCode
     * @return List<Map < String,String>>
     */
    List<Map<String,String>> getPlacementBaseInfoList(Page<Map<String,String>> page,String searchKey,String searchPlacement,
                                                      @Param("departId") String departId,
                                                      @Param("localCode") String localCode);

    /**
     * 安帮工作资源管理 - 安帮基地信息管理 - 安帮基地信息管理 - 导出
     * @param departId departId
     * @return List<Map < String,Object>>
     */
    List<Map<String,Object>> selectPlaceBaseForExport(@Param("departId") String departId);

    /**
     * 安帮工作资源管理 - 安帮基地信息管理 - 安帮基地信息管理 - 更改基地安置人数
     * @param id id
     * @param anzhirenshu anzhirenshu
     */
    void updateAzrs(@Param("id") String id,@Param("anzhirenshu") String anzhirenshu);

    /**
     * 安置帮教管理 - 安置工作信息管理 - 新增基地人数
     * @param jdrs data
     * @param id id
     * @return int
     */
    int saveJdNumByJdmc(Object jdrs, Object id);

    /**
     * 填写信息
     * @param jdid jdid
     * @return Map<String,String>
     */
    Map<String,Integer> selectKeAnZhiNum(String jdid);

    /**
     * 填写信息
     * @param jdid jdid
     * @return String
     */
    Integer getJdKeAnZhiNum(String jdid);

    /**
     * 填写信息
     * @param jdid jdid
     * @param num num
     * @return Integer
     */
    Integer changeJdNum(@Param("jdid") String jdid,@Param("num") int num);

    /**
     * 获取安置基地列表
     * @param azType azType
     * @param departid departid
     * @param pinggu pinggu
     * @param priNum priNum
     * @param localCode localCode
     * @return List<Map < String,Object>>
     */
    List<Map<String,Object>> getAzjdList(
            @Param("azType") String azType,
            @Param("departid") String departid,
            @Param("pinggu") Integer pinggu,
            @Param("priNum") String priNum,
            @Param("localCode")String localCode);

    /**
     * 山西个性化需求,获取安置帮教基地
     * @param azType azType
     * @param departid departid
     * @return List<Map<String, Object>>
     */
    List<Map<String, Object>> getAnZhijdList(@Param("azType") String azType,@Param("departid") String departid);

    /**
     * 安置帮教管理 - 安置工作信息管理 - 待安置/已安置 - 安置 - 基地推荐列表
     * @param page page
     * @param departid departid
     * @param level level
     * @param priNum priNum
     * @param localCode localCode
     * @return List<Map < String,Object>>
     */
    List<Map<String,String>> getJdtjList(
            Page<Map<String,String>> page,
            @Param("departid") String departid,
            @Param("level") int level,
            @Param("priNum") String priNum,
            @Param("localCode") String localCode);
}